package com.yanfan.iot.mapper;

import java.util.List;
import com.yanfan.iot.domain.DeviceDept;
import org.apache.ibatis.annotations.Param;

/**
 * 设备部门中间表Mapper接口
 *
 * @author kerwincui
 * @date 2025-07-23
 */
public interface DeviceDeptMapper
{
    /**
     * 查询设备部门中间表
     *
     * @param deptId 设备部门中间表主键
     * @return 设备部门中间表
     */
    public List<DeviceDept> selectDeviceDeptByDeptId(Long deptId);

    /**
     * 查询设备部门中间表列表
     *
     * @param deviceDept 设备部门中间表
     * @return 设备部门中间表集合
     */
    public List<DeviceDept> selectDeviceDeptList(DeviceDept deviceDept);

    /**
     * 新增设备部门中间表
     *
     * @param deviceDept 设备部门中间表
     * @return 结果
     */
    public int insertDeviceDept(DeviceDept deviceDept);

    /**
     * 修改设备部门中间表
     *
     * @param deviceDept 设备部门中间表
     * @return 结果
     */
    public int updateDeviceDept(DeviceDept deviceDept);

    /**
     * 删除设备部门中间表
     *
     * @param deptId 设备部门中间表主键
     * @return 结果
     */
    public int deleteDeviceDeptByDeptId(Long deptId);

    /**
     * 批量删除设备部门中间表
     *
     * @param deptIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDeviceDeptByDeptIds(Long[] deptIds);

    int insertDeptDevices(@Param("deptId") Long deptId, @Param("deviceIdList") List<Long> deviceIdList);

    int deleteDeviceDept(@Param("deptId") Long deptId, @Param("deviceIdList") List<Long> deviceIdList);
}
